package abd.pr1.Controllers;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;

import javax.sql.DataSource;

import abd.pr1.Interface.AdminPersonajesPanel;
import abd.pr1.Interface.AdminSeriesPanel;
import abd.pr1.Interface.NuevaSerieWindow;
import abd.pr1.Interface.NuevoPersonajeWindow;
import abd.pr1.Mappers.PersonajesMapper;
import abd.pr1.Mappers.SeriesMapper;
import abd.pr1.Models.Personaje;
import abd.pr1.Models.Serie;

public class AdminPersonajesPanelController implements ActionListener {

	private AdminPersonajesPanel adminPersonajesPanel;
	private DataSource ds;
	
	public AdminPersonajesPanelController( AdminPersonajesPanel adminPersonajesPanel, DataSource ds) {

		this.adminPersonajesPanel = adminPersonajesPanel;
		this.ds = ds;
		//this.adminPersonajesPanel.addListener(this);
		this.refreshPersonajes();
	}
	
	public void refreshPersonajes(){
		List<Personaje> personajes=new PersonajesMapper(ds).buscarNombrePersonaje(adminPersonajesPanel.getBuscarTexto());
		this.adminPersonajesPanel.setListaPersonajes(personajes);
	}
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		
		if (e.getActionCommand().equals("buscar_person_serie")){
			List<Personaje> personajes=new PersonajesMapper(ds).buscarNombrePersonaje(adminPersonajesPanel.getBuscarTexto());
			this.adminPersonajesPanel.setListaPersonajes(personajes);
		}else if (e.getActionCommand().equals("nuevo_personaje")){
			new NuevoPersonajeWindowController(this,new NuevoPersonajeWindow(), ds);
		}else if (e.getActionCommand().equals("info_admin_personajes")){
			Personaje personajeSelected=this.adminPersonajesPanel.getSelectedPersonaje();
			if(personajeSelected!=null){
			new EditarPersonajeWindowController(new NuevoPersonajeWindow(), ds,personajeSelected);
			}
		}
		
	}

}
